iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 17
0
自我挑戰組

前端工程師的30份套餐系列 第 17

Day17-物件實體和JSON

  • 分享至 

  • xImage
  •  

什麼是JSON

  1. JSON就是一組字串。
  2. 在使用{}建立物件時,屬性名稱可以有引號也可以沒有的,但在JSON格式中,該屬性名稱一定要有引號。
  3. 如果物件中的值為function,是無法透過JSON傳遞的。

他是被JavaScript的物件實體語法啟發的,所以全命叫做JavaScript Object notation。故事是這樣的,前陣子被PM要求調整五年前的專案,我翻了檔案卻看見大概是這樣的格式:

<object>
    <food>rice</food>
    <name>fired rice</name>
</object>

因為看不懂,然後我就把檔案關掉了
看到了副檔名是XML,而這就是XML的資料傳輸格式
伺服器會得到這些資訊,並且解析它,但是這之中有很多不必要的符號,讓資料變的很龐大,只是傳送了一點資料就要傳送屬性名稱兩次(開頭和結尾)且不夠簡便,所以現在大多用JSON格式,因為這是傳輸資料的好格式,像是以下範例:

const food = {
    kind: 'rice',
    name: 'fired rice'
}

JSON並不是JavaScript的一部分,JS可以解析它,所以有一些JS內建的功能可以轉換,像是讓物件變成JSON
console.log(JSON.stringify(food));
將物件轉換為JSON字串
{"kind":"rice","name":"fired rice"}

相反過來則是:將JSON格式轉成物件(物件實體語法)

var json = JSON.parse('{'"kind":"rice","name":"fired rice"'}')
console.log(json)
//{kind: "rice", name: "fired rice"}

JavaScript可以在這兩者間轉換的功能


上一篇
Day16-by value 和 by reference
下一篇
Day18-call()、apply()與bind()
系列文
前端工程師的30份套餐30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言